/**
 * @file:          ConfigOption.h
 * @brief:         
 * @details:       
 * @author:        wjh
 * @date created:  2023.06.13
 * @version:       1.0.0
 * @par copyright (c):
 *   
 * @par history (desc):
 *   version:1.0.0, wjh, 2023.06.13,10:42:38
 */


#ifndef _CONFIGOPTION_H_
#define _CONFIGOPTION_H_

/* Include Files **************************************************************/
#include "DriverList.h"
#include "Datatype.h"

/* Macro Definition ***********************************************************/

/* Variable Declare ***********************************************************/
extern Motor_drv42 driver_board_motor_drv42_v11;
extern Motor_drv42 driver_board_motor_drv42_v12;
extern Motor_drv42 driver_board_motor_drv36_v22;
extern Motor_drv42 driver_board_motor_drv42_v23;

extern MT68xx encoder_MT6816_14bit;
extern MT68xx encoder_MT6826_15bit;
extern MT68xx encoder_MT6835_21bit;

extern ch32v30x_module mcu_ch32v303VCT6;
extern ch32v30x_module mcu_ch32v303CBT6_v11;
extern ch32v30x_module mcu_ch32v303CBT6_v12;

extern StepperMotor stepper_motor_default;
extern StepperMotor stepper_motor_Corier_BJY36D08;
extern StepperMotor stepper_motor_Corier_BJ42D29;
extern StepperMotor stepper_motor_Corier_BJ42D29_30V06;
extern StepperMotor stepper_motor_Corier_BJ42D41_14V07;
extern StepperMotor stepper_motor_Corier_4240;
extern StepperMotor stepper_motor_Corier_BJ42D29_101V10_4248;
extern StepperMotor stepper_motor_MS17HDBEP4250_02_4260;
extern StepperMotor stepper_motor_Corier_BJ42D41_31V03_4260;
extern StepperMotor stepper_motor_Corier_BJ42D41_32V01_4260;
extern StepperMotor stepper_motor_Moons_4248_MS17HDB3P4250;
extern StepperMotor stepper_motor_Red_X;
extern StepperMotor stepper_motor_MS17HDB3P420A_02_Red_Y;
extern StepperMotor stepper_motor_Corier_BJY36D12_04V21;
extern StepperMotor stepper_motor_Corier_4240_BJE42D22_53V08L20;
extern StepperMotor stepper_motor_Corier_4248_BJ42D29_41V07;
extern StepperMotor stepper_motor_Moons_4234_MS17HD4P4150;
extern StepperMotor stepper_motor_Moons_4248_MS17HD3L4250_02X;
extern StepperMotor stepper_motor_Moons_4240_MS17HDB2L420D_01;
extern StepperMotor stepper_motor_Moons_4248_MS17HDB3L425A_01;
extern StepperMotor stepper_motor_Moons_4248_MS17HDB3L420B_01;

extern ThreeLoopPidFocV1_0 controller_default;
extern ThreeLoopPidFocV1_0 controller_PF019Pro_XY;
extern ThreeLoopPidFocV1_0 controller_PF019Pro_Z;
extern ThreeLoopPidFocV1_0 controller_PF019Pro_E;
extern ThreeLoopPidFocV1_0 controller_PF008Pro_XY;
extern ThreeLoopPidFocV1_0 controller_PF008Pro_Z;
extern ThreeLoopPidFocV1_0 controller_PF008Pro_Z_LeadScrewMotor;
extern ThreeLoopPidFocV1_0 controller_PF008Pro_E;
extern ThreeLoopPidFocV1_0 controller_Ender3V3KE_X;
extern ThreeLoopPidFocV1_0 controller_Ender3V3KE_Y;
extern ThreeLoopPidFocV1_0 controller_Ender3V3KE_Z;
extern ThreeLoopPidFocV1_0 controller_Ender3V3KE_E;
extern ThreeLoopPidFocV1_0 controller_K1Max_XY;
extern ThreeLoopPidFocV1_0 controller_K1Max_Z;
extern ThreeLoopPidFocV1_0 controller_K1Max_E;
extern ThreeLoopPidFocV1_0 controller_PF018_X;
extern ThreeLoopPidFocV1_0 controller_PF018_Y;
extern ThreeLoopPidFocV1_0 controller_PF018_Z;
extern ThreeLoopPidFocV1_0 controller_PF018_E;

extern FlashManager flash_manager_param_v1_0;
// extern FlashManager flash_manager_encoder_calibration;

extern Logger logger_v1_0;
#endif
